# coding=utf-8
import shutil
import subprocess
import os


# 转换文本
def convert_doc_to_docx(input_file, output_file, type):
    # 确保 LibreOffice 的路径在你的 PATH 环境变量中，或者指定完整的路径
    libreoffice_path = "C:\\Program Files\\LibreOffice\\program\\soffice.exe"  # 在某些系统中可能需要指定为 "libreoffice7.0" 或 "/usr/bin/libreoffice" 等

    # 构造命令行参数  
    cmd = [libreoffice_path, '--headless', '--convert-to', type, '--outdir', os.path.dirname(output_file), input_file]
    # 执行命令并等待其完成
    try:
        subprocess.run(cmd, check=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
        print(f"Successfully converted {input_file} to {output_file}")
    except subprocess.CalledProcessError as e:
        print(f"Error occurred while converting: {e}")
        print(e.stdout.decode())
        print(e.stderr.decode())
    # 使用示例


if __name__ == '__main__':
    dir_path = "D:\\mywork\\imgs\\合同\\大模型测试合同\\大模型测试合同"
    out_dir = 'D:\mywork\imgs\合同\大模型测试合同\大模型测试合同\data2'
    for item in os.listdir(dir_path):
        f_file = os.path.join(dir_path, item)
        out_path = os.path.join(out_dir, item, 'content')
        if not os.path.exists(out_path):
            os.makedirs(out_path)
        for f in os.listdir(f_file):
            if f.endswith('docx') or f.endswith('xlsx') or f.endswith('pdf') or f.endswith('ppt') or f.endswith('md'):
                shutil.copy(os.path.join(f_file,f), out_path)
